/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package all_pet_iv.database;

import all_pet_iv.business.Produto;
import all_pet_iv.gui.FramePrincipal;
import all_pet_iv.webservice.ConexaoForce;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.enterprise.QueryResult;
import com.sforce.soap.enterprise.sobject.Item__c;
import com.sforce.soap.enterprise.sobject.SObject;
import com.sforce.ws.ConnectionException;
import java.sql.*;

/**
 *
 * @author Daniel
 */
public class Editar {
    public static void produto(Produto produto) throws SQLException{
        String sql = "UPDATE tb_estoque "
                + "SET quantidadeCritica=?,solicitacaoPadrao=?,"
                + "precoVenda=? WHERE cod_produto=?";
        PreparedStatement stmt = FramePrincipal.getInstance().fachada.getConexao().prepareStatement(sql);
        stmt.setDouble(1, produto.getQuantidadeCritica());
        stmt.setDouble(2, produto.getSolicitacaoPadrao());
        stmt.setDouble(3, produto.getPrecoVenda());
        stmt.setString(4, produto.getCodigo());
        stmt.execute();
        stmt.close();

    }
    
    public static void reporProduto(Produto produto) throws SQLException{
        String sql = "UPDATE tb_estoque "
                + "SET quantidadeAtual = quantidadeAtual + solicitacaoPadrao WHERE cod_produto=?";
        PreparedStatement stmt = FramePrincipal.getInstance().fachada.getConexao().prepareStatement(sql);
        stmt.setString(1, produto.getCodigo());
        stmt.execute();
        stmt.close();

    }
    

    public static void venderLocal(Produto produto) throws SQLException{
        String sql = "UPDATE tb_estoque SET quantidadeAtual= quantidadeAtual - ? WHERE cod_produto=?";
        PreparedStatement stmt = FramePrincipal.getInstance().fachada.getConexao().prepareStatement(sql);
        stmt.setDouble(1, produto.getQuantidadeAtual());
        stmt.setString(2, produto.getCodigo());
        stmt.execute();
        stmt.close();
    }
    

    public static void editarForce(String codigo, double valorCampoQuantidade) throws ConnectionException {
        EnterpriseConnection conexao = ConexaoForce.getConexao();
        String sql = "SELECT id,Quantidade__c FROM Item__c WHERE codigoProduto__c='"+codigo+"'";
        QueryResult qr = conexao.query(sql);
        SObject[] records = qr.getRecords();
        Item__c item = (Item__c) records[0];
        item.setQuantidade__c(item.getQuantidade__c() - valorCampoQuantidade);
        Item__c[] array = new Item__c[1];
        array[0]=item;
        conexao.update(array);
    }

}
